home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / Third Party SDKs / ATI RAVE SDK / Samples / Strip Test / inc / macros.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-06-13  |  1.6 KB  |  41 lines  |  [TEXT/CWIE]

  1. #ifndef MACROS_H
  2. #define MACROS_H
  3.  
  4. #define EPSILON         0.00000001
  5. #define PI_OVER_2        1.570796
  6.  
  7. /*
  8.  * utility macros
  9.  */
  10. #define ABS( a )              ( ((a) > 0 )? (a) : (-(a)) )
  11. #define MIN( a, b )           ( ((a) < (b)) ? (a) : (b) )
  12. #define MAX( a, b )              ( ((a) > (b)) ? (a) : (b) )
  13. #define MINI( a, b )           ( ((a) < (b)) ? 0 : 1 )
  14. #define MAXI( a, b )          ( ((a) > (b)) ? 0 : 1 )
  15. #define CLAMP( n, a, b )      ( MAX( MIN((n),(b)), (a) ) )
  16. #define SWAP( a, b )          { (a) ^= (b); (b) ^= (a); (a) ^= (b); }
  17. #define FLOOR( a )            ( ((a) > 0) ? (int)(a) : -(int)(-a) )
  18. #define CEILING( a )         (((a)==(int)(a))?(a):((a)>0)?1+(int)(a):-((int)(-a)))
  19. #define ROUND( a )            ( ((a) > 0) ? (int)(a+0.5) : -(int)(0.5-(a)) )
  20. #define RAND( a, b )          ( (a) + ( random()%(((b)+1)-(a)) ) )
  21. #define ABSOLUTE( i,j,k )     ( (i-j)*(k = ( (i-j)<0 ? -1 : 1)))
  22. #define SQR( a )              ( (a)*(a) )
  23. #define SGN( a )              ( ((a) < 0) ? -1 : 1 )
  24. #define FLT_EQUAL( a, b )     ( ABS((a) - (b)) < EPSILON )
  25. #define FLT_ZERO( a )         ( ABS((a)) <= EPSILON )
  26. #define FLT_LT_ZERO( a )    ( (a) < EPSILON )
  27. #define FLT_GT_ZERO( a )    ( (a) > EPSILON )
  28. #define FLT_NON_ZERO( a )     ( ABS((a)) > EPSILON )
  29. #define DEG2RAD( a )          ( (FLOAT32)((a) * 0.01745329251994329576) )
  30. #define RAD2DEG( a )          ( (FLOAT32)((a) * 57.29577951308232087684) )
  31. #define ODD( a )              ( (a)%2 )
  32. #define EVEN( a )              ( !((a)%2) )
  33.  
  34. #define SET_VERTEX_TEX( _vp, _u, _v )                                                    \
  35. {                                                                                        \
  36.     (_vp)->texture[0] = (_u);                                                            \
  37.     (_vp)->texture[1] = (_v);                                                            \
  38.     (_vp)->field_mask |= TEX_BIT;                                                        \
  39. }        
  40.  
  41. #endif